FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
{% block labels %}
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
{% endblock %}

{% block tempest_header %}{% endblock %}

{% import "macros.j2" as macros with context %}

{{ macros.configure_user(name='tempest') }}

{% if install_type == 'binary' %}
    {% if base_package_type == 'rpm' %}
        {% set tempest_packages = ['openstack-tempest-all',
                                   'iputils'] %}

    {% elif base_package_type == 'deb' %}
        {% set tempest_packages = ['tempest',
                                   'iputils-ping'] %}

    {% endif %}

{{ macros.install_packages(tempest_packages | customizable("packages")) }}
RUN ln -sf /var/lib/tempest /tempest

{% elif install_type == 'source' %}

ADD tempest-archive /tempest-source
ADD plugins-archive /

{% if base_package_type == 'deb' and base_arch not in ['x86_64'] %}
    {% set tempest_source_packages = ['librdkafka-dev'] %}

{{ macros.install_packages(tempest_source_packages | customizable("source_packages")) }}
{% endif %}


{% set tempest_pip_packages = [
    '/tempest'
] %}

{% set tempest_plugins_pip_packages = [
    '/plugins/*'
] %}

# NOTE(Jeffrey4l): remove the tempest version constraint in the
# upper-constrains.txt file. Otherwise, it will be failed.
RUN ln -s tempest-source/* tempest \
    && sed -i 's/^tempest===.*$//' requirements/upper-constraints.txt \
    && {{ macros.install_pip(tempest_pip_packages | customizable("pip_packages")) }} \
    && if [ "$(ls /plugins)" ]; then \
        {{ macros.install_pip(tempest_plugins_pip_packages) }}; \
       fi \
    && mkdir -p /etc/tempest /var/log/tempest /etc/tempest/tempest_lock

{% endif %}

WORKDIR /tempest

COPY extend_start.sh /usr/local/bin/kolla_extend_start
RUN chmod 755 /usr/local/bin/kolla_extend_start

{% block tempest_footer %}{% endblock %}
{% block footer %}{% endblock %}

USER tempest
